There are several ways to run scripts today, specifically using Windows Script Host, and Scheduled Tasks Facility. These tools allow one to initiate scripts, and enable one to schedule scripts for later execution or for repeated execution. There is, however, an easier way to manage scripts using a scriptable interface that allows one to register and manage scripts.
One way in which this feature has been incorporated is through registering scripts through what is referred to as a Script Utility. Script Utility is generally defined as allowing a registered script to wait on events, sleep without displaying a message, setting a time interval and periodically receiving OnInterval events.
In order to ensure high availability and proper performance of a system, it is useful to monitor various aspects of the system to detect and respond to problems as quickly as possible. In the Windows operating system environment, for example, scripts are frequently used for this purpose because they provide a simple deployment method for a reproducible and easily modifiable sequence of detection and response statements. At the current time, there is no unobtrusive way to keep a script running and responsive using the most popular scripting language in the Windows operating system environment (vbscript).
The present invention was created to simplify the management of running scripts. A method of the invention combines the best features of the vbscript MsgBox and Sleep constructs. Therefore, a script can create one or more ScriptUtility objects. There is a sleep method that supports the displaying of a message box on the user's desktop. The visibility of the display, however, is entirely under the user's control. In turn, the user is able to specify whether the message box should be completely invisible or not through the scriptable interface to the ScriptUtility object. In effect, the user can decide to alter the setting of the script to be visible in certain circumstances, and invisible under others. If the display is visible, the user can choose to minimize it using standard keyboard or mouse controls so that it appears only on the task bar at the bottom of the desktop rather than on the desktop itself. This feature is useful in any script that previously used a standard vbscript MsgBox statement.
Unlike other sleep methods, the ScriptUtility sleep is not time bounded. Therefore, if a script wishes to sleep, it must first call the ScriptUtility Register method to register the script with the ScriptMonitor service. An OnInterval event allows the script to perform scripted tasks at regular intervals, regardless of whether the script is also sleeping. This feature provides a facility for performing elapsed time processing at regular intervals that was not previously available to scripts without the use of a loop containing a Sleep statement.
One prior art method to which the method of the present invention generally relates is described in U.S. Pat. No. 6,044,398 entitled “Virtual Dynamic Browsing System and Method for Automated Web Server and Testing.” This prior art method is an Internet website virtual browser application which automatically exercises and verifies web server applications and scripts by simulating a web browser to request, capture, store, and verify data returned from web servers, discarding data not critical to testing, and saving and reusing retained data for subsequent transactions. Input and links are accepted, from a GUI edit field or input data file, with posts and gets supported to return pages and other requested data, then saved in user-specified files for verification. GUI edit field options may override server/port definitions without changing input data files and may provide for user-specified termination after a specified number of errors, specifying number of retries and level-setting of messaging for log files and screens. A log file stores the request and byte count total bytes transferred, time of transaction, throughput or transfer time, and the result of compares. The verify option automatically compares previously received and current request data. A smart pass/fail status derives a total pass/fail count for all requested pages. Input data may be looped for reliability testing. Critical requests may be labeled and required to be successful; and sleep values between requests are user-specifiable to simulate actual users and test session timeouts.
The present invention differs from the above prior cited art in that the prior invention focuses on testing, not general use. The “sleep” mentioned in this prior invention appears as if it is for a non-interruptible interval, and the script being executed only interacts with a web page and does not allow the entire range of windows scripting commands, as is possible in the present invention.
Another prior art method to which the method of the present invention generally relates is detailed in U.S. Pat. No. 5,974,569 entitled “System and Method for Determining Whether Time-based Operations of a Computer System Operate Properly.” This prior art method is a method for identifying whether time-based operations of a computer system operate properly for time intervals over which the computer system operates. Specifically, this prior art invention is operative to identify the type of failure that occurs. It utilizes test programs and test procedures to determine whether the hardware, BIOS, operating system, and computer language handle time and date calculations correctly. This prior art may identify a time period to be evaluated and divide the time period into a plurality of time intervals. Then a process accepts a first frequency value that specifies the frequency at which time test modules are to execute the time-based operations of the computer system. A first set of time-based test modules are executed at the occurrence-frequency specified by the first frequency value in a first time interval. A second occurrence-frequency value may be specified and the time test modules are executed at the occurrence-frequency specified by a second frequency value. The time test modules may be executed for a second time interval at the frequency specified by the second frequency value.
The present invention differs from this prior art in that the cited prior art deals with a sleep module that only seems to be concerned with the accuracy of a system clock during a system “sleep” operator. Also, this prior art is not scriptable and is not applicable to general use.
Yet another prior art method to which the method of the present invention generally relates is detailed in U.S. Pat. No. 6,035,264 entitled “Electronic Control System and Method for Externally Controlling Process in a Computer System With a Script Language.” This prior art method is an electronic control method for externally controlling processes in a computer system and provides electronic data, which is presented as graphical information to a user on a display device. In addition, electronic data input by the user is received. Software routines are written in a script language specifically designed for computer monitoring and control operations through interactively presenting data to and receiving data from the user. Subsequently, processing rules are interpreted from the software routines with an electronic data processor. Operations of the computer system are controlled based on the processing rules with the electronic data processor such that the computer system can be automatically controlled externally with the processing rules by only utilizing preexisting computer system signals received from the computer system and control signals sent to the computer system. In addition, a control system for implementing the external control method is provided.
This prior art differs from the present invention in that the prior invention seems to simply be a method for running a script. However, this prior invention does not address keeping a user's script active in an inconspicuous manner, or letting a user resume execution of a sleeping script at will, or letting users manage sleeping scripts from a centralized interface or GUI.